<!-- kind:binary;verdict:incompatible;affected:1.6;added:5;removed:1;type_problems_high:1;type_problems_medium:2;type_problems_low:4;interface_problems_high:0;interface_problems_medium:0;interface_problems_low:7;changed_constants:3;tool_version:1.99.9 -->
<!-- kind:source;verdict:incompatible;affected:1.6;added:5;removed:1;type_problems_high:2;type_problems_medium:0;type_problems_low:3;interface_problems_high:0;interface_problems_medium:0;interface_problems_low:2;changed_constants:4;tool_version:1.99.9 -->
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <meta name="keywords" content="libnetconf, compatibility, API, report" />
    <meta name="description" content="Compatibility report for the libnetconf library between 0.9.0 and 0.10.0 versions" />
    <title>
        libnetconf: 0.9.0 to 0.10.0 compatibility report
    </title>
    <style type="text/css">
    body {
    font-family:Arial, sans-serif;
    color:Black;
    font-size:14px;
}
hr {
    color:Black;
    background-color:Black;
    height:1px;
    border:0;
}
h1 {
    margin-bottom:0px;
    padding-bottom:0px;
    font-size:26px;
}
h2 {
    margin-bottom:0px;
    padding-bottom:0px;
    font-size:20px;
    white-space:nowrap;
}
span.section {
    font-weight:bold;
    cursor:pointer;
    font-size:16px;
    color:#003E69;
    white-space:nowrap;
    margin-left:5px;
}
span.new_sign {
    font-weight:bold;
    margin-left:26px;
    font-size:16px;
    color:#003E69;
}
span.new_sign_lbl {
    margin-left:28px;
    font-size:14px;
    color:Black;
}
span:hover.section {
    color:#336699;
}
span.section_affected {
    cursor:pointer;
    margin-left:7px;
    padding-left:15px;
    font-size:14px;
    color:#cc3300;
}
span.section_info {
    cursor:pointer;
    margin-left:7px;
    padding-left:15px;
    font-size:14px;
    color:Black;
}
span.extendable {
    font-weight:100;
    font-size:16px;
}
span.h_name {
    color:#cc3300;
    font-size:14px;
    font-weight:bold;
}
div.h_list {
    font-size:15px;
    padding-left:5px;
}
span.ns {
    color:#408080;
    font-size:15px;
}
div.lib_list {
    font-size:15px;
    padding-left:5px;
}
span.lib_name {
    color:Green;
    font-size:14px;
    font-weight:bold;
}
span.iname {
    font-weight:bold;
    font-size:16px;
    color:#003E69;
    margin-left:5px;
}
span.iname_b {
    font-weight:bold;
    font-size:15px;
}
span.iname_a {
    color:#333333;
    font-weight:bold;
    font-size:15px;
}
span.sym_p {
    font-weight:normal;
    white-space:normal;
}
div.affect {
    padding-left:15px;
    padding-bottom:4px;
    font-size:14px;
    font-style:italic;
    line-height:13px;
}
div.affected {
    padding-left:30px;
    padding-top:5px;
}
table.ptable {
    border-collapse:collapse;
    border:1px outset black;
    line-height:16px;
    margin-left:15px;
    margin-top:3px;
    margin-bottom:3px;
    width:900px;
}
table.ptable td {
    border:1px solid gray;
    padding: 3px;
}
table.vtable {
    border-collapse:collapse;
    border:1px outset black;
    line-height:16px;
    margin-left:30px;
    margin-top:10px;
    width:100px;
}
table.vtable td {
    border:1px solid gray;
    white-space:nowrap;
    padding: 3px;
}
table.ptable th, table.vtable th {
    background-color:#eeeeee;
    font-weight:bold;
    color:#333333;
    font-family:Verdana, Arial;
    font-size:13px;
    border:1px solid gray;
    text-align:center;
    vertical-align:top;
    white-space:nowrap;
    padding: 3px;
}
table.summary {
    border-collapse:collapse;
    border:1px outset black;
}
table.summary th {
    background-color:#eeeeee;
    font-weight:100;
    text-align:left;
    font-size:15px;
    white-space:nowrap;
    border:1px inset gray;
    padding: 3px;
}
table.summary td {
    text-align:right;
    font-size:16px;
    white-space:nowrap;
    border:1px inset gray;
    padding: 3px 5px 3px 10px;
}
table.code_view {
    cursor:text;
    margin-top:7px;
    margin-left:15px;
    font-family:Monaco, Consolas, 'DejaVu Sans Mono', 'Droid Sans Mono', Monospace;
    font-size:14px;
    padding:10px;
    border:1px solid #e0e8e5;
    color:#444444;
    background-color:#eff3f2;
    overflow:auto;
}
table.code_view td {
    padding-left:15px;
    text-align:left;
    white-space:nowrap;
}
span.mangled {
    padding-left:15px;
    font-size:14px;
    cursor:text;
    color:#444444;
}
span.sym_ver {
    color:#333333;
    white-space:nowrap;
    font-family:"DejaVu Sans Mono", Monospace;
}
span.attr {
    color:#333333;
    font-weight:100;
}
span.color_p {
    font-style:italic;
    color:Brown;
}
span.param {
    font-style:italic;
}
span.focus_p {
    font-style:italic;
    color:Red;
}
span.ttype {
    font-weight:100;
}
span.nowrap {
    white-space:nowrap;
}
span.value {
    white-space:nowrap;
    font-weight:bold;
}
td.passed {
    background-color:#CCFFCC;
}
td.warning {
    background-color:#F4F4AF;
}
td.failed {
    background-color:#FFCCCC;
}
td.new {
    background-color:#C6DEFF;
}
.tabset {
    float:left;
}
a.tab {
    border:1px solid #AAA;
    float:left;
    margin:0px 5px -1px 0px;
    padding:3px 5px 3px 5px;
    position:relative;
    font-size:14px;
    background-color:#DDD;
    text-decoration:none;
    color:Black;
}
a.disabled:hover
{
    color:Black;
    background:#EEE;
}
a.active:hover
{
    color:Black;
    background:White;
}
a.active {
    border-bottom-color:White;
    background-color:White;
}
div.tab {
    border:1px solid #AAA;
    padding:0 7px 0 12px;
    width:97%;
    clear:both;
}
    </style>
    <script type="text/javascript" language="JavaScript">
    <!--
    function showContent(header, id)
{
    e = document.getElementById(id);
    if(e.style.display == 'none')
    {
        e.style.display = 'block';
        e.style.visibility = 'visible';
        header.innerHTML = header.innerHTML.replace(/\[[^0-9 ]\]/gi,"[&minus;]");
    }
    else
    {
        e.style.display = 'none';
        e.style.visibility = 'hidden';
        header.innerHTML = header.innerHTML.replace(/\[[^0-9 ]\]/gi,"[+]");
    }
}
function initTabs()
{
    var url = window.location.href;
    if(url.indexOf('_Source_')!=-1 || url.indexOf('#Source')!=-1)
    {
        var tab1 = document.getElementById('BinaryID');
        var tab2 = document.getElementById('SourceID');
        tab1.className='tab disabled';
        tab2.className='tab active';
    }
    var sets = document.getElementsByTagName('div');
    for (var i = 0; i < sets.length; i++)
    {
        if (sets[i].className.indexOf('tabset') != -1)
        {
            var tabs = [];
            var links = sets[i].getElementsByTagName('a');
            for (var j = 0; j < links.length; j++)
            {
                if (links[j].className.indexOf('tab') != -1)
                {
                    tabs.push(links[j]);
                    links[j].tabs = tabs;
                    var tab = document.getElementById(links[j].href.substr(links[j].href.indexOf('#') + 1));
                    //reset all tabs on start
                    if (tab)
                    {
                        if (links[j].className.indexOf('active')!=-1) {
                            tab.style.display = 'block';
                        }
                        else {
                            tab.style.display = 'none';
                        }
                    }
                    links[j].onclick = function()
                    {
                        var tab = document.getElementById(this.href.substr(this.href.indexOf('#') + 1));
                        if (tab)
                        {
                            //reset all tabs before change
                            for (var k = 0; k < this.tabs.length; k++)
                            {
                                document.getElementById(this.tabs[k].href.substr(this.tabs[k].href.indexOf('#') + 1)).style.display = 'none';
                                this.tabs[k].className = this.tabs[k].className.replace('active', 'disabled');
                            }
                            this.className = 'tab active';
                            tab.style.display = 'block';
                            // window.location.hash = this.id.replace('ID', '');
                            return false;
                        }
                    }
                }
            }
        }
    }
    if(url.indexOf('#')!=-1) {
        location.href=location.href;
    }
}
if (window.addEventListener) window.addEventListener('load', initTabs, false);
else if (window.attachEvent) window.attachEvent('onload', initTabs);
    -->
    </script>
    </head><body><a name='Source'></a><a name='Binary'></a><a name='Top'></a><h1><span class='nowrap'>API compatibility report for the <span style='color:Blue;'>libnetconf</span> library</span> <span class='nowrap'>&#160;between <span style='color:Red;'>0.9.0</span> and <span style='color:Red;'>0.10.0</span> versions on <span style='color:Blue;'>x86_64</span></span></h1>

            <br/><div class='tabset'>
            <a id='BinaryID' href='#BinaryTab' class='tab active'>Binary<br/>Compatibility</a>
            <a id='SourceID' href='#SourceTab' style='margin-left:3px' class='tab disabled'>Source<br/>Compatibility</a>
            </div><div id='BinaryTab' class='tab'>
<h2>Test Info</h2><hr/>
<table class='summary'>
<tr><th>Library Name</th><td>libnetconf</td></tr>
<tr><th>Version #1</th><td>0.9.0</td></tr>
<tr><th>Version #2</th><td>0.10.0</td></tr>
<tr><th>CPU Type</th><td>x86_64</td></tr>
<tr><th>GCC Version</th><td>4.8</td></tr>
<tr><th>Subject</th><td width='150px'>Binary Compatibility</td></tr>
</table>
<h2>Test Results</h2><hr/>
<table class='summary'><tr><th>Total Header Files</th><td><a href='#Headers' style='color:Blue;'>21</a></td></tr>
<tr><th>Total Shared Libraries</th><td><a href='#Libs' style='color:Blue;'>3</a></td></tr>
<tr><th>Total Symbols / Types</th><td>190 / 175</td></tr>
<tr><th>Verdict</th><td><span style='color:Red;'><b>Incompatible<br/>(1.6%)</b></span></td></tr>
</table>
<h2>Problem Summary</h2><hr/>
<table class='summary'><tr><th></th><th style='text-align:center;'>Severity</th><th style='text-align:center;'>Count</th></tr><tr><th>Added Symbols</th><td>-</td><td class='new'><a href='#Binary_Added' style='color:Blue;'>5</a></td></tr>
<tr><th>Removed Symbols</th><td>High</td><td class='failed'><a href='#Binary_Removed' style='color:Blue;'>1</a></td></tr>
<tr><th rowspan='3'>Problems with<br/>Data Types</th><td>High</td><td class='failed'><a href='#Type_Binary_Problems_High' style='color:Blue;'>1</a></td></tr>
<tr><td>Medium</td><td class='failed'><a href='#Type_Binary_Problems_Medium' style='color:Blue;'>2</a></td></tr>
<tr><td>Low</td><td class='warning'><a href='#Type_Binary_Problems_Low' style='color:Blue;'>4</a></td></tr>
<tr><th rowspan='3'>Problems with<br/>Symbols</th><td>High</td><td>0</td></tr>
<tr><td>Medium</td><td>0</td></tr>
<tr><td>Low</td><td class='warning'><a href='#Symbol_Binary_Problems_Low' style='color:Blue;'>7</a></td></tr>
<tr><th>Problems with<br/>Constants</th><td>Low</td><td class='warning'><a href='#Constant_Binary_Problems_Low' style='color:Blue;'>3</a></td></tr>
<tr><th>Other Changes<br/>in Constants</th><td>-</td><td class='passed'><a href='#Other_Binary_Changes_In_Constants' style='color:Blue;'>2</a></td></tr>
</table>

<a name='Binary_Added'></a><h2>Added Symbols (5)</h2><hr/>
<span class='h_name'>callbacks_ssh.h</span>, <span class='lib_name'>libnetconf.so.0.10.0</span><br/>
<span class="iname">nc_del_keypair_path&#160;<span class='sym_p'>(&#160;char const* <span class='color_p'>privkey</span>, <span class='nowrap'>char const* <span class='color_p'>pubkey</span> )</span></span></span><br/>
<br/>
<span class='h_name'>libnetconf_ssh.h</span>, <span class='lib_name'>libnetconf.so.0.10.0</span><br/>
<span class="iname">nc_session_accept_libssh_channel&#160;<span class='sym_p'>(&#160;struct nc_cpblts const* <span class='color_p'>capabilities</span>, char const* <span class='color_p'>username</span>, <span class='nowrap'>ssh_channel <span class='color_p'>ssh_chan</span> )</span></span></span><br/>
<br/>
<span class='h_name'>libnetconf_tls.h</span>, <span class='lib_name'>libnetconf.so.0.10.0</span><br/>
<span class="iname">nc_session_accept_tls&#160;<span class='sym_p'>(&#160;struct nc_cpblts const* <span class='color_p'>capabilities</span>, char const* <span class='color_p'>username</span>, <span class='nowrap'>SSL* <span class='color_p'>tls_sess</span> )</span></span></span><br/>
<br/>
<span class='h_name'>messages_xml.h</span>, <span class='lib_name'>libnetconf.so.0.10.0</span><br/>
<span class="iname">ncxml_reply_data_ns&#160;<span class='sym_p'>(&#160;xmlNodePtr const <span class='color_p'>data</span>, <span class='nowrap'>char const* <span class='color_p'>ns</span> )</span></span></span><br/>
<br/>
<span class='h_name'>notifications.h</span>, <span class='lib_name'>libnetconf.so.0.10.0</span><br/>
<span class="iname">ncntf_session_get_active_subscription&#160;<span class='sym_p'>(&#160;<span class='nowrap'>struct nc_session* <span class='color_p'>session</span> )</span></span></span><br/>
<br/>
<a style='font-size:11px;' href='#Top'>to the top</a><br/>
<a name='Binary_Removed'></a><a name='Binary_Withdrawn'></a><h2>Removed Symbols (1)</h2><hr/>
<span class='h_name'>datastore.h</span>, <span class='lib_name'>libnetconf.so.0.9.0</span><br/>
<span class="iname">ncds_apply_rpc&#160;<span class='sym_p'>(&#160;<span class='nowrap'>ncds_id <span class='color_p'>id</span>,</span> struct nc_session const* <span class='color_p'>session</span>, <span class='nowrap'>nc_rpc const* <span class='color_p'>rpc</span> )</span></span></span><br/>
<br/>
<a style='font-size:11px;' href='#Top'>to the top</a><br/>
<a name='High_Risk_Binary_Problems'></a><a name='Type_Binary_Problems_High'></a>
<h2>Problems with Data Types, High Severity (1)</h2><hr/>
<span class='h_name'>transapi.h</span><br/>
<span class="section" onclick="javascript:showContent(this, 'c_1')">
<span class='extendable'>[+]</span> <span class='ttype'>struct</span> transapi_rpc_callbacks::anon-struct-transapi.h-175 (1)</span>
<br/>
<div id="c_1" style="display:none;">
<table class='ptable'><tr>
<th width='2%'></th><th width='47%'>Change</th>
<th>Effect</th></tr><tr><th>1</th><td align='left' valign='top'>Field <b>arg_count</b> has been removed from the middle position of this structural type.</td><td align='left' valign='top'>1) Previous accesses of applications to the removed field will be incorrect.<br/>2) Layout of structure fields has been changed and therefore fields at higher positions of the structure definition may be incorrectly accessed by applications.</td></tr>
</table>
<span class="section_affected" onclick="javascript:showContent(this, 'c_2')">
[+] affected symbols (2)</span>
<div id="c_2" style="display:none;">
<div class='affected'><span class='iname_a'>ncds_add_augment_transapi_static&#160;<span class='sym_p'>(&#160;char const* <span class='param'>model_path</span>, <span class='nowrap'>struct transapi const* <span class='focus_p'>transapi</span> )</span></span></span><br/><div class='affect'>Field &#39;transapi&#45;&gt;rpc_clbks&#45;&gt;callbacks&#39; in 2nd parameter &#39;transapi&#39; (pointer) has base type &#39;transapi_rpc_callbacks::anon-struct-transapi.h-175&#39;.</div>
<span class='iname_a'>ncds_new_transapi_static&#160;<span class='sym_p'>(&#160;enum NCDS_TYPE <span class='param'>type</span>, char const* <span class='param'>model_path</span>, <span class='nowrap'>struct transapi const* <span class='focus_p'>transapi</span> )</span></span></span><br/><div class='affect'>Field &#39;transapi&#45;&gt;rpc_clbks&#45;&gt;callbacks&#39; in 3rd parameter &#39;transapi&#39; (pointer) has base type &#39;transapi_rpc_callbacks::anon-struct-transapi.h-175&#39;.</div>
</div></div>
<br/><br/></div>

<br/><a style='font-size:11px;' href='#Top'>to the top</a><br/>
<a name='Medium_Risk_Binary_Problems'></a><a name='Type_Binary_Problems_Medium'></a>
<h2>Problems with Data Types, Medium Severity (2)</h2><hr/>
<span class='h_name'>transapi.h</span><br/>
<span class="section" onclick="javascript:showContent(this, 'c_3')">
<span class='extendable'>[+]</span> <span class='ttype'>struct</span> transapi (1)</span>
<br/>
<div id="c_3" style="display:none;">
<table class='ptable'><tr>
<th width='2%'></th><th width='47%'>Change</th>
<th>Effect</th></tr><tr><th>1</th><td align='left' valign='top'>Field <b>version</b> has been added at the middle position of this structural type.</td><td align='left' valign='top'>1) Size of the inclusive type has been changed.<br/>2) Layout of structure fields has been changed and therefore fields at higher positions of the structure definition may be incorrectly accessed by applications.</td></tr>
</table>
<span class="section_affected" onclick="javascript:showContent(this, 'c_4')">
[+] affected symbols (2)</span>
<div id="c_4" style="display:none;">
<div class='affected'><span class='iname_a'>ncds_add_augment_transapi_static&#160;<span class='sym_p'>(&#160;char const* <span class='param'>model_path</span>, <span class='nowrap'>struct transapi const* <span class='focus_p'>transapi</span> )</span></span></span><br/><div class='affect'>2nd parameter &#39;transapi&#39; (pointer) has base type &#39;struct transapi&#39;.</div>
<span class='iname_a'>ncds_new_transapi_static&#160;<span class='sym_p'>(&#160;enum NCDS_TYPE <span class='param'>type</span>, char const* <span class='param'>model_path</span>, <span class='nowrap'>struct transapi const* <span class='focus_p'>transapi</span> )</span></span></span><br/><div class='affect'>3rd parameter &#39;transapi&#39; (pointer) has base type &#39;struct transapi&#39;.</div>
</div></div>
<br/><br/></div>

<span class="section" onclick="javascript:showContent(this, 'c_5')">
<span class='extendable'>[+]</span> <span class='ttype'>struct</span> transapi_rpc_callbacks::anon-struct-transapi.h-175 (1)</span>
<br/>
<div id="c_5" style="display:none;">
<table class='ptable'><tr>
<th width='2%'></th><th width='47%'>Change</th>
<th>Effect</th></tr><tr><th>1</th><td align='left' valign='top'>Field <b>arg_order</b> has been removed from this type.</td><td align='left' valign='top'>1) Applications will access incorrect memory when attempting to access this field.<br/>2) Size of the inclusive type has been changed.</td></tr>
</table>
<span class="section_affected" onclick="javascript:showContent(this, 'c_6')">
[+] affected symbols (2)</span>
<div id="c_6" style="display:none;">
<div class='affected'><span class='iname_a'>ncds_add_augment_transapi_static&#160;<span class='sym_p'>(&#160;char const* <span class='param'>model_path</span>, <span class='nowrap'>struct transapi const* <span class='focus_p'>transapi</span> )</span></span></span><br/><div class='affect'>Field &#39;transapi&#45;&gt;rpc_clbks&#45;&gt;callbacks&#39; in 2nd parameter &#39;transapi&#39; (pointer) has base type &#39;transapi_rpc_callbacks::anon-struct-transapi.h-175&#39;.</div>
<span class='iname_a'>ncds_new_transapi_static&#160;<span class='sym_p'>(&#160;enum NCDS_TYPE <span class='param'>type</span>, char const* <span class='param'>model_path</span>, <span class='nowrap'>struct transapi const* <span class='focus_p'>transapi</span> )</span></span></span><br/><div class='affect'>Field &#39;transapi&#45;&gt;rpc_clbks&#45;&gt;callbacks&#39; in 3rd parameter &#39;transapi&#39; (pointer) has base type &#39;transapi_rpc_callbacks::anon-struct-transapi.h-175&#39;.</div>
</div></div>
<br/><br/></div>

<br/><a style='font-size:11px;' href='#Top'>to the top</a><br/>
<a name='Low_Risk_Binary_Problems'></a><a name='Type_Binary_Problems_Low'></a>
<h2>Problems with Data Types, Low Severity (4)</h2><hr/>
<span class='h_name'>transapi.h</span><br/>
<span class="section" onclick="javascript:showContent(this, 'c_7')">
<span class='extendable'>[+]</span> <span class='ttype'>struct</span> clbk (1)</span>
<br/>
<div id="c_7" style="display:none;">
<table class='ptable'><tr>
<th width='2%'></th><th width='47%'>Change</th>
<th>Effect</th></tr><tr><th>1</th><td align='left' valign='top'>Base type of field <b>func</b> has been changed from <span class='value'>int(*)(void**,enum XMLDIFF_OP,xmlNodePtr,struct nc_err**)</span> to <span class='value'>int(*)(void**,enum XMLDIFF_OP,xmlNodePtr,xmlNodePtr,struct nc_err**)</span>.</td><td align='left' valign='top'>Replacement of field base type may indicate a change in the semantic meaning of the field.</td></tr>
</table>
<span class="section_affected" onclick="javascript:showContent(this, 'c_8')">
[+] affected symbols (2)</span>
<div id="c_8" style="display:none;">
<div class='affected'><span class='iname_a'>ncds_add_augment_transapi_static&#160;<span class='sym_p'>(&#160;char const* <span class='param'>model_path</span>, <span class='nowrap'>struct transapi const* <span class='focus_p'>transapi</span> )</span></span></span><br/><div class='affect'>Field &#39;transapi&#45;&gt;data_clbks&#45;&gt;callbacks&#39; in 2nd parameter &#39;transapi&#39; (pointer) has base type &#39;struct clbk&#39;.</div>
<span class='iname_a'>ncds_new_transapi_static&#160;<span class='sym_p'>(&#160;enum NCDS_TYPE <span class='param'>type</span>, char const* <span class='param'>model_path</span>, <span class='nowrap'>struct transapi const* <span class='focus_p'>transapi</span> )</span></span></span><br/><div class='affect'>Field &#39;transapi&#45;&gt;data_clbks&#45;&gt;callbacks&#39; in 3rd parameter &#39;transapi&#39; (pointer) has base type &#39;struct clbk&#39;.</div>
</div></div>
<br/><br/></div>

<span class="section" onclick="javascript:showContent(this, 'c_9')">
<span class='extendable'>[+]</span> <span class='ttype'>struct</span> transapi (1)</span>
<br/>
<div id="c_9" style="display:none;">
<table class='ptable'><tr>
<th width='2%'></th><th width='47%'>Change</th>
<th>Effect</th></tr><tr><th>1</th><td align='left' valign='top'>Size of this type has been changed from <b>80</b> bytes to <b>88</b> bytes.</td><td align='left' valign='top'>The fields or parameters of such data type may be incorrectly initialized or accessed by old client applications.</td></tr>
</table>
<span class="section_affected" onclick="javascript:showContent(this, 'c_10')">
[+] affected symbols (2)</span>
<div id="c_10" style="display:none;">
<div class='affected'><span class='iname_a'>ncds_add_augment_transapi_static&#160;<span class='sym_p'>(&#160;char const* <span class='param'>model_path</span>, <span class='nowrap'>struct transapi const* <span class='focus_p'>transapi</span> )</span></span></span><br/><div class='affect'>2nd parameter &#39;transapi&#39; (pointer) has base type &#39;struct transapi&#39;.</div>
<span class='iname_a'>ncds_new_transapi_static&#160;<span class='sym_p'>(&#160;enum NCDS_TYPE <span class='param'>type</span>, char const* <span class='param'>model_path</span>, <span class='nowrap'>struct transapi const* <span class='focus_p'>transapi</span> )</span></span></span><br/><div class='affect'>3rd parameter &#39;transapi&#39; (pointer) has base type &#39;struct transapi&#39;.</div>
</div></div>
<br/><br/></div>

<span class="section" onclick="javascript:showContent(this, 'c_11')">
<span class='extendable'>[+]</span> <span class='ttype'>struct</span> transapi_rpc_callbacks::anon-struct-transapi.h-175 (2)</span>
<br/>
<div id="c_11" style="display:none;">
<table class='ptable'><tr>
<th width='2%'></th><th width='47%'>Change</th>
<th>Effect</th></tr><tr><th>1</th><td align='left' valign='top'>Size of this type has been changed from <b>536</b> bytes to <b>16</b> bytes.</td><td align='left' valign='top'>The fields or parameters of such data type may be incorrectly initialized or accessed by old client applications.</td></tr>
<tr><th>2</th><td align='left' valign='top'>Base type of field <b>func</b> has been changed from <b>nc_reply*(*)(xmlNodePtr*)</b> to <b>nc_reply*(*)(xmlNodePtr)</b>.</td><td align='left' valign='top'>Replacement of field base type may indicate a change in the semantic meaning of the field.</td></tr>
</table>
<span class="section_affected" onclick="javascript:showContent(this, 'c_12')">
[+] affected symbols (2)</span>
<div id="c_12" style="display:none;">
<div class='affected'><span class='iname_a'>ncds_add_augment_transapi_static&#160;<span class='sym_p'>(&#160;char const* <span class='param'>model_path</span>, <span class='nowrap'>struct transapi const* <span class='focus_p'>transapi</span> )</span></span></span><br/><div class='affect'>Field &#39;transapi&#45;&gt;rpc_clbks&#45;&gt;callbacks&#39; in 2nd parameter &#39;transapi&#39; (pointer) has base type &#39;transapi_rpc_callbacks::anon-struct-transapi.h-175&#39;.</div>
<span class='iname_a'>ncds_new_transapi_static&#160;<span class='sym_p'>(&#160;enum NCDS_TYPE <span class='param'>type</span>, char const* <span class='param'>model_path</span>, <span class='nowrap'>struct transapi const* <span class='focus_p'>transapi</span> )</span></span></span><br/><div class='affect'>Field &#39;transapi&#45;&gt;rpc_clbks&#45;&gt;callbacks&#39; in 3rd parameter &#39;transapi&#39; (pointer) has base type &#39;transapi_rpc_callbacks::anon-struct-transapi.h-175&#39;.</div>
</div></div>
<br/><br/></div>

<br/><a style='font-size:11px;' href='#Top'>to the top</a><br/>
<a name='Symbol_Binary_Problems_Low'></a><a name='Interface_Binary_Problems_Low'></a>
<h2>Problems with Symbols, Low Severity (7)</h2><hr/>
<span class='h_name'>callbacks_ssh.h</span>, <span class='lib_name'>libnetconf.so.0.9.0</span><br/>
<span class="section" onclick="javascript:showContent(this, 'c_13')">
<span class='extendable'>[+]</span> nc_callback_ssh_host_authenticity_check&#160;<span class='sym_p'>(&#160;<span class='nowrap'>int(*<span class='color_p'>func</span>)(char const*, LIBSSH2_SESSION*) )</span></span> (1)</span>
<br/>
<div id="c_13" style="display:none;">


<span class='new_sign_lbl'>changed to:</span><br/><span class='new_sign'>nc_callback_ssh_host_authenticity_check&#160;<span class='sym_p'>(&#160;<span class='nowrap'>int(*<span class='color_p'>func</span>)(char const*, ssh_session) )</span></span></span><br/>
<table class='ptable'><tr><th width='2%'></th><th width='47%'>Change</th><th>Effect</th></tr><tr><th>1</th><td align='left' valign='top'>Base type of <b>1st</b> parameter <b>func</b> has been changed from <span class='value'>int(*)(char const*,LIBSSH2_SESSION*)</span> to <span class='value'>int(*)(char const*,ssh_session)</span>.</td><td align='left' valign='top'>Replacement of parameter base type may indicate a change in its semantic meaning.</td></tr>
</table><br/>
</div>
<span class="section" onclick="javascript:showContent(this, 'c_14')">
<span class='extendable'>[+]</span> nc_callback_sshauth_interactive&#160;<span class='sym_p'>(&#160;<span class='nowrap'>void(*<span class='color_p'>func</span>)(char const*, int, char const*, int, int, LIBSSH2_USERAUTH_KBDINT_PROMPT const*, LIBSSH2_USERAUTH_KBDINT_RESPONSE*, void**) )</span></span> (2)</span>
<br/>
<div id="c_14" style="display:none;">


<span class='new_sign_lbl'>changed to:</span><br/><span class='new_sign'>nc_callback_sshauth_interactive&#160;<span class='sym_p'>(&#160;<span class='nowrap'>void(*<span class='color_p'>func</span>)(char const*, char const*, char const*, int) )</span></span></span><br/>
<table class='ptable'><tr><th width='2%'></th><th width='47%'>Change</th><th>Effect</th></tr><tr><th>1</th><td align='left' valign='top'>Type of return value has been changed from <b>void</b> to <span class='nowrap'><b>char*</b> (<b>8</b> bytes)</span>.</td><td align='left' valign='top'>Replacement of return type may indicate a change in its semantic meaning.</td></tr>
<tr><th>2</th><td align='left' valign='top'>Base type of <b>1st</b> parameter <b>func</b> has been changed from <span class='value'>void(*)(char const*,int,char const*,int,int,LIBSSH2_USERAUTH_KBDINT_PROMPT const*,LIBSSH2_USERAUTH_KBDINT_RESPONSE*,void**)</span> to <span class='value'>void(*)(char const*,char const*,char const*,int)</span>.</td><td align='left' valign='top'>Replacement of parameter base type may indicate a change in its semantic meaning.</td></tr>
</table><br/>
</div>
<span class="section" onclick="javascript:showContent(this, 'c_15')">
<span class='extendable'>[+]</span> nc_set_keypair_path&#160;<span class='sym_p'>(&#160;char const* <span class='color_p'>private</span>, <span class='nowrap'>char const* <span class='color_p'>public</span> )</span></span> (3)</span>
<br/>
<div id="c_15" style="display:none;">


<span class='new_sign_lbl'>changed to:</span><br/><span class='new_sign'>nc_set_keypair_path&#160;<span class='sym_p'>(&#160;char const* <span class='color_p'>privkey</span>, <span class='nowrap'>char const* <span class='color_p'>pubkey</span> )</span></span></span><br/>
<table class='ptable'><tr><th width='2%'></th><th width='47%'>Change</th><th>Effect</th></tr><tr><th>1</th><td align='left' valign='top'>Type of return value has been changed from <b>void</b> to <span class='nowrap'><b>int</b> (<b>4</b> bytes)</span>.</td><td align='left' valign='top'>Replacement of return type may indicate a change in its semantic meaning.</td></tr>
<tr><th>2</th><td align='left' valign='top'><b>1st</b> parameter <b>private</b> has been renamed to <b>privkey</b>.</td><td align='left' valign='top'>Renaming of a parameter may indicate a change in its semantic meaning.</td></tr>
<tr><th>3</th><td align='left' valign='top'><b>2nd</b> parameter <b>public</b> has been renamed to <b>pubkey</b>.</td><td align='left' valign='top'>Renaming of a parameter may indicate a change in its semantic meaning.</td></tr>
</table><br/>
</div>
<br/><span class='h_name'>datastore.h</span>, <span class='lib_name'>libnetconf.so.0.9.0</span><br/>
<span class="section" onclick="javascript:showContent(this, 'c_16')">
<span class='extendable'>[+]</span> ncds_model_info&#160;<span class='sym_p'>(&#160;char const* <span class='color_p'>path</span>, <span class='nowrap'>char** <span class='color_p'>name</span>,</span> <span class='nowrap'>char** <span class='color_p'>version</span>,</span> char** <span class='color_p'>namespace</span>, <span class='nowrap'>char** <span class='color_p'>prefix</span>,</span> <span class='nowrap'>char*** <span class='color_p'>rpcs</span>,</span> <span class='nowrap'>char*** <span class='color_p'>notifs</span> )</span></span> (1)</span>
<br/>
<div id="c_16" style="display:none;">


<span class='new_sign_lbl'>changed to:</span><br/><span class='new_sign'>ncds_model_info&#160;<span class='sym_p'>(&#160;char const* <span class='color_p'>path</span>, <span class='nowrap'>char** <span class='color_p'>name</span>,</span> <span class='nowrap'>char** <span class='color_p'>version</span>,</span> <span class='nowrap'>char** <span class='color_p'>ns</span>,</span> <span class='nowrap'>char** <span class='color_p'>prefix</span>,</span> <span class='nowrap'>char*** <span class='color_p'>rpcs</span>,</span> <span class='nowrap'>char*** <span class='color_p'>notifs</span> )</span></span></span><br/>
<table class='ptable'><tr><th width='2%'></th><th width='47%'>Change</th><th>Effect</th></tr><tr><th>1</th><td align='left' valign='top'><b>4th</b> parameter <b>namespace</b> has been renamed to <b>ns</b>.</td><td align='left' valign='top'>Renaming of a parameter may indicate a change in its semantic meaning.</td></tr>
</table><br/>
</div>
<br/><a style='font-size:11px;' href='#Top'>to the top</a><br/>
<a name='Constant_Binary_Problems_Low'></a><h2>Problems with Constants, Low Severity (3)</h2><hr/>
<span class='h_name'>netconf.h</span><br/>
<span class="section" onclick="javascript:showContent(this, 'c_17')">
<span class='extendable'>[+]</span> NC_INIT_ALL</span>
<br/>
<div id="c_17" style="display:none;">
<table class='ptable'><tr><th width='2%'></th><th width='47%'>Change</th><th>Effect</th></tr><tr><th>1</th><td align='left' valign='top'>The value of constant <b>NC_INIT_ALL</b> has been changed from <b>0xffffcfff</b> to <b>0xffff8fff</b>.</td><td align='left' valign='top'>Applications will pass an old value of this constant as the parameter to the new-version library functions, that expect a new one. This may result in crash of incorrect behavior of applications.</td></tr>
</table><br/></div>

<span class="section" onclick="javascript:showContent(this, 'c_18')">
<span class='extendable'>[+]</span> NC_INIT_KEEPALIVECHECK</span>
<br/>
<div id="c_18" style="display:none;">
<table class='ptable'><tr><th width='2%'></th><th width='47%'>Change</th><th>Effect</th></tr><tr><th>1</th><td align='left' valign='top'>The value of constant <b>NC_INIT_KEEPALIVECHECK</b> has been changed from <b>0x00000088</b> to <b>0x00000080</b>.</td><td align='left' valign='top'>Applications will pass an old value of this constant as the parameter to the new-version library functions, that expect a new one. This may result in crash of incorrect behavior of applications.</td></tr>
</table><br/></div>

<span class="section" onclick="javascript:showContent(this, 'c_19')">
<span class='extendable'>[+]</span> NC_INIT_NACM</span>
<br/>
<div id="c_19" style="display:none;">
<table class='ptable'><tr><th width='2%'></th><th width='47%'>Change</th><th>Effect</th></tr><tr><th>1</th><td align='left' valign='top'>The value of constant <b>NC_INIT_NACM</b> has been changed from <b>0x00000104</b> to <b>0x00000004</b>.</td><td align='left' valign='top'>Applications will pass an old value of this constant as the parameter to the new-version library functions, that expect a new one. This may result in crash of incorrect behavior of applications.</td></tr>
</table><br/></div>

<br/>
<a style='font-size:11px;' href='#Top'>to the top</a><br/>
<a name='Other_Binary_Changes'></a><a name='Other_Binary_Changes_In_Constants'></a><h2>Other Changes in Constants (2)</h2><hr/>
<span class='h_name'>netconf.h</span><br/>
<span class="section" onclick="javascript:showContent(this, 'c_20')">
<span class='extendable'>[+]</span> NC_INIT_CLIENT</span>
<br/>
<div id="c_20" style="display:none;">
<table class='ptable'><tr><th width='2%'></th><th width='47%'>Change</th><th>Effect</th></tr><tr><th>1</th><td align='left' valign='top'>The constant <b>NC_INIT_CLIENT</b> with value <b>0x00004000</b> has been added.</td><td align='left' valign='top'>No effect.</td></tr>
</table><br/></div>

<span class="section" onclick="javascript:showContent(this, 'c_21')">
<span class='extendable'>[+]</span> NC_INIT_LIBSSH_PTHREAD</span>
<br/>
<div id="c_21" style="display:none;">
<table class='ptable'><tr><th width='2%'></th><th width='47%'>Change</th><th>Effect</th></tr><tr><th>1</th><td align='left' valign='top'>The constant <b>NC_INIT_LIBSSH_PTHREAD</b> with value <b>0x00000200</b> has been added.</td><td align='left' valign='top'>No effect.</td></tr>
</table><br/></div>

<br/>
<a style='font-size:11px;' href='#Top'>to the top</a><br/>
<a name='Headers'></a><h2>Header Files (21)</h2><hr/>
<div class='h_list'>
callbacks.h<br/>
callbacks_ssh.h<br/>
callhome.h<br/>
datastore.h<br/>
datastore_custom.h<br/>
datastore_xml.h<br/>
error.h<br/>
libnetconf.h<br/>
libnetconf_ssh.h<br/>
libnetconf_tls.h<br/>
libnetconf_xml.h<br/>
messages.h<br/>
messages_xml.h<br/>
netconf.h<br/>
notifications.h<br/>
notifications_xml.h<br/>
session.h<br/>
transapi.h<br/>
transport.h<br/>
url.h<br/>
with_defaults.h<br/>
</div>
<br/><a style='font-size:11px;' href='#Top'>to the top</a><br/>
<a name='Libs'></a><h2>Shared Libraries (3)</h2><hr/>
<div class='lib_list'>
libnetconf.so<br/>
libnetconf.so.0<br/>
libnetconf.so.0.9.0<br/>
</div>
<br/><a style='font-size:11px;' href='#Top'>to the top</a><br/>
<br/><br/><br/></div><div id='SourceTab' class='tab'>
<h2>Test Info</h2><hr/>
<table class='summary'>
<tr><th>Library Name</th><td>libnetconf</td></tr>
<tr><th>Version #1</th><td>0.9.0</td></tr>
<tr><th>Version #2</th><td>0.10.0</td></tr>
<tr><th>CPU Type</th><td>x86_64</td></tr>
<tr><th>GCC Version</th><td>4.8</td></tr>
<tr><th>Subject</th><td width='150px'>Source Compatibility</td></tr>
</table>
<h2>Test Results</h2><hr/>
<table class='summary'><tr><th>Total Header Files</th><td><a href='#Headers' style='color:Blue;'>21</a></td></tr>
<tr><th>Total Shared Libraries</th><td><a href='#Libs' style='color:Blue;'>3</a></td></tr>
<tr><th>Total Symbols / Types</th><td>190 / 175</td></tr>
<tr><th>Verdict</th><td><span style='color:Red;'><b>Incompatible<br/>(1.6%)</b></span></td></tr>
</table>
<h2>Problem Summary</h2><hr/>
<table class='summary'><tr><th></th><th style='text-align:center;'>Severity</th><th style='text-align:center;'>Count</th></tr><tr><th>Added Symbols</th><td>-</td><td class='new'><a href='#Source_Added' style='color:Blue;'>5</a></td></tr>
<tr><th>Removed Symbols</th><td>High</td><td class='failed'><a href='#Source_Removed' style='color:Blue;'>1</a></td></tr>
<tr><th rowspan='3'>Problems with<br/>Data Types</th><td>High</td><td class='failed'><a href='#Type_Source_Problems_High' style='color:Blue;'>2</a></td></tr>
<tr><td>Medium</td><td>0</td></tr>
<tr><td>Low</td><td class='warning'><a href='#Type_Source_Problems_Low' style='color:Blue;'>3</a></td></tr>
<tr><th rowspan='3'>Problems with<br/>Symbols</th><td>High</td><td>0</td></tr>
<tr><td>Medium</td><td>0</td></tr>
<tr><td>Low</td><td class='warning'><a href='#Symbol_Source_Problems_Low' style='color:Blue;'>2</a></td></tr>
<tr><th>Problems with<br/>Constants</th><td>Low</td><td class='warning'><a href='#Constant_Source_Problems_Low' style='color:Blue;'>4</a></td></tr>
<tr><th>Other Changes<br/>in Symbols</th><td>-</td><td class='passed'><a href='#Other_Source_Changes_In_Symbols' style='color:Blue;'>5</a></td></tr>
<tr><th>Other Changes<br/>in Constants</th><td>-</td><td class='passed'><a href='#Other_Source_Changes_In_Constants' style='color:Blue;'>2</a></td></tr>
</table>

<a name='Source_Added'></a><h2>Added Symbols (5)</h2><hr/>
<span class='h_name'>callbacks_ssh.h</span><br/>
<span class="iname">nc_del_keypair_path&#160;<span class='sym_p'>(&#160;char const* <span class='color_p'>privkey</span>, <span class='nowrap'>char const* <span class='color_p'>pubkey</span> )</span></span></span><br/>
<br/>
<span class='h_name'>libnetconf_ssh.h</span><br/>
<span class="iname">nc_session_accept_libssh_channel&#160;<span class='sym_p'>(&#160;struct nc_cpblts const* <span class='color_p'>capabilities</span>, char const* <span class='color_p'>username</span>, <span class='nowrap'>ssh_channel <span class='color_p'>ssh_chan</span> )</span></span></span><br/>
<br/>
<span class='h_name'>libnetconf_tls.h</span><br/>
<span class="iname">nc_session_accept_tls&#160;<span class='sym_p'>(&#160;struct nc_cpblts const* <span class='color_p'>capabilities</span>, char const* <span class='color_p'>username</span>, <span class='nowrap'>SSL* <span class='color_p'>tls_sess</span> )</span></span></span><br/>
<br/>
<span class='h_name'>messages_xml.h</span><br/>
<span class="iname">ncxml_reply_data_ns&#160;<span class='sym_p'>(&#160;xmlNodePtr const <span class='color_p'>data</span>, <span class='nowrap'>char const* <span class='color_p'>ns</span> )</span></span></span><br/>
<br/>
<span class='h_name'>notifications.h</span><br/>
<span class="iname">ncntf_session_get_active_subscription&#160;<span class='sym_p'>(&#160;<span class='nowrap'>struct nc_session* <span class='color_p'>session</span> )</span></span></span><br/>
<br/>
<a style='font-size:11px;' href='#Top'>to the top</a><br/>
<a name='Source_Removed'></a><a name='Source_Withdrawn'></a><h2>Removed Symbols (1)</h2><hr/>
<span class='h_name'>datastore.h</span><br/>
<span class="iname">ncds_apply_rpc&#160;<span class='sym_p'>(&#160;<span class='nowrap'>ncds_id <span class='color_p'>id</span>,</span> struct nc_session const* <span class='color_p'>session</span>, <span class='nowrap'>nc_rpc const* <span class='color_p'>rpc</span> )</span></span></span><br/>
<br/>
<a style='font-size:11px;' href='#Top'>to the top</a><br/>
<a name='High_Risk_Source_Problems'></a><a name='Type_Source_Problems_High'></a>
<h2>Problems with Data Types, High Severity (2)</h2><hr/>
<span class='h_name'>transapi.h</span><br/>
<span class="section" onclick="javascript:showContent(this, 'c_22')">
<span class='extendable'>[+]</span> <span class='ttype'>struct</span> transapi_rpc_callbacks::anon-struct-transapi.h-175 (2)</span>
<br/>
<div id="c_22" style="display:none;">
<table class='ptable'><tr>
<th width='2%'></th><th width='47%'>Change</th>
<th>Effect</th></tr><tr><th>1</th><td align='left' valign='top'>Field <b>arg_count</b> has been removed from this type.</td><td align='left' valign='top'>Recompilation of a client program may be broken with the error message: '<b>transapi_rpc_callbacks::anon-struct-transapi.h-175</b>' has no member named '<b>arg_count</b>'.</td></tr>
<tr><th>2</th><td align='left' valign='top'>Field <b>arg_order</b> has been removed from this type.</td><td align='left' valign='top'>Recompilation of a client program may be broken with the error message: '<b>transapi_rpc_callbacks::anon-struct-transapi.h-175</b>' has no member named '<b>arg_order</b>'.</td></tr>
</table>
<span class="section_affected" onclick="javascript:showContent(this, 'c_23')">
[+] affected symbols (2)</span>
<div id="c_23" style="display:none;">
<div class='affected'><span class='iname_a'>ncds_add_augment_transapi_static&#160;<span class='sym_p'>(&#160;char const* <span class='param'>model_path</span>, <span class='nowrap'>struct transapi const* <span class='focus_p'>transapi</span> )</span></span></span><br/><div class='affect'>Field &#39;transapi&#45;&gt;rpc_clbks&#45;&gt;callbacks&#39; in 2nd parameter &#39;transapi&#39; (pointer) has base type &#39;transapi_rpc_callbacks::anon-struct-transapi.h-175&#39;.</div>
<span class='iname_a'>ncds_new_transapi_static&#160;<span class='sym_p'>(&#160;enum NCDS_TYPE <span class='param'>type</span>, char const* <span class='param'>model_path</span>, <span class='nowrap'>struct transapi const* <span class='focus_p'>transapi</span> )</span></span></span><br/><div class='affect'>Field &#39;transapi&#45;&gt;rpc_clbks&#45;&gt;callbacks&#39; in 3rd parameter &#39;transapi&#39; (pointer) has base type &#39;transapi_rpc_callbacks::anon-struct-transapi.h-175&#39;.</div>
</div></div>
<br/><br/></div>

<br/><a style='font-size:11px;' href='#Top'>to the top</a><br/>
<a name='Low_Risk_Source_Problems'></a><a name='Type_Source_Problems_Low'></a>
<h2>Problems with Data Types, Low Severity (3)</h2><hr/>
<span class='h_name'>transapi.h</span><br/>
<span class="section" onclick="javascript:showContent(this, 'c_24')">
<span class='extendable'>[+]</span> <span class='ttype'>struct</span> clbk (1)</span>
<br/>
<div id="c_24" style="display:none;">
<table class='ptable'><tr>
<th width='2%'></th><th width='47%'>Change</th>
<th>Effect</th></tr><tr><th>1</th><td align='left' valign='top'>Base type of field <b>func</b> has been changed from <span class='value'>int(*)(void**,enum XMLDIFF_OP,xmlNodePtr,struct nc_err**)</span> to <span class='value'>int(*)(void**,enum XMLDIFF_OP,xmlNodePtr,xmlNodePtr,struct nc_err**)</span>.</td><td align='left' valign='top'>Recompilation of a client program may be broken.</td></tr>
</table>
<span class="section_affected" onclick="javascript:showContent(this, 'c_25')">
[+] affected symbols (2)</span>
<div id="c_25" style="display:none;">
<div class='affected'><span class='iname_a'>ncds_add_augment_transapi_static&#160;<span class='sym_p'>(&#160;char const* <span class='param'>model_path</span>, <span class='nowrap'>struct transapi const* <span class='focus_p'>transapi</span> )</span></span></span><br/><div class='affect'>Field &#39;transapi&#45;&gt;data_clbks&#45;&gt;callbacks&#39; in 2nd parameter &#39;transapi&#39; (pointer) has base type &#39;struct clbk&#39;.</div>
<span class='iname_a'>ncds_new_transapi_static&#160;<span class='sym_p'>(&#160;enum NCDS_TYPE <span class='param'>type</span>, char const* <span class='param'>model_path</span>, <span class='nowrap'>struct transapi const* <span class='focus_p'>transapi</span> )</span></span></span><br/><div class='affect'>Field &#39;transapi&#45;&gt;data_clbks&#45;&gt;callbacks&#39; in 3rd parameter &#39;transapi&#39; (pointer) has base type &#39;struct clbk&#39;.</div>
</div></div>
<br/><br/></div>

<span class="section" onclick="javascript:showContent(this, 'c_26')">
<span class='extendable'>[+]</span> <span class='ttype'>struct</span> transapi (1)</span>
<br/>
<div id="c_26" style="display:none;">
<table class='ptable'><tr>
<th width='2%'></th><th width='47%'>Change</th>
<th>Effect</th></tr><tr><th>1</th><td align='left' valign='top'>Field <b>version</b> has been added to this type.</td><td align='left' valign='top'>This field will not be initialized or used by old client applications.</td></tr>
</table>
<span class="section_affected" onclick="javascript:showContent(this, 'c_27')">
[+] affected symbols (2)</span>
<div id="c_27" style="display:none;">
<div class='affected'><span class='iname_a'>ncds_add_augment_transapi_static&#160;<span class='sym_p'>(&#160;char const* <span class='param'>model_path</span>, <span class='nowrap'>struct transapi const* <span class='focus_p'>transapi</span> )</span></span></span><br/><div class='affect'>2nd parameter &#39;transapi&#39; (pointer) has base type &#39;struct transapi&#39;.</div>
<span class='iname_a'>ncds_new_transapi_static&#160;<span class='sym_p'>(&#160;enum NCDS_TYPE <span class='param'>type</span>, char const* <span class='param'>model_path</span>, <span class='nowrap'>struct transapi const* <span class='focus_p'>transapi</span> )</span></span></span><br/><div class='affect'>3rd parameter &#39;transapi&#39; (pointer) has base type &#39;struct transapi&#39;.</div>
</div></div>
<br/><br/></div>

<span class="section" onclick="javascript:showContent(this, 'c_28')">
<span class='extendable'>[+]</span> <span class='ttype'>struct</span> transapi_rpc_callbacks::anon-struct-transapi.h-175 (1)</span>
<br/>
<div id="c_28" style="display:none;">
<table class='ptable'><tr>
<th width='2%'></th><th width='47%'>Change</th>
<th>Effect</th></tr><tr><th>1</th><td align='left' valign='top'>Base type of field <b>func</b> has been changed from <b>nc_reply*(*)(xmlNodePtr*)</b> to <b>nc_reply*(*)(xmlNodePtr)</b>.</td><td align='left' valign='top'>Recompilation of a client program may be broken.</td></tr>
</table>
<span class="section_affected" onclick="javascript:showContent(this, 'c_29')">
[+] affected symbols (2)</span>
<div id="c_29" style="display:none;">
<div class='affected'><span class='iname_a'>ncds_add_augment_transapi_static&#160;<span class='sym_p'>(&#160;char const* <span class='param'>model_path</span>, <span class='nowrap'>struct transapi const* <span class='focus_p'>transapi</span> )</span></span></span><br/><div class='affect'>Field &#39;transapi&#45;&gt;rpc_clbks&#45;&gt;callbacks&#39; in 2nd parameter &#39;transapi&#39; (pointer) has base type &#39;transapi_rpc_callbacks::anon-struct-transapi.h-175&#39;.</div>
<span class='iname_a'>ncds_new_transapi_static&#160;<span class='sym_p'>(&#160;enum NCDS_TYPE <span class='param'>type</span>, char const* <span class='param'>model_path</span>, <span class='nowrap'>struct transapi const* <span class='focus_p'>transapi</span> )</span></span></span><br/><div class='affect'>Field &#39;transapi&#45;&gt;rpc_clbks&#45;&gt;callbacks&#39; in 3rd parameter &#39;transapi&#39; (pointer) has base type &#39;transapi_rpc_callbacks::anon-struct-transapi.h-175&#39;.</div>
</div></div>
<br/><br/></div>

<br/><a style='font-size:11px;' href='#Top'>to the top</a><br/>
<a name='Symbol_Source_Problems_Low'></a><a name='Interface_Source_Problems_Low'></a>
<h2>Problems with Symbols, Low Severity (2)</h2><hr/>
<span class='h_name'>callbacks_ssh.h</span><br/>
<span class="section" onclick="javascript:showContent(this, 'c_30')">
<span class='extendable'>[+]</span> nc_callback_ssh_host_authenticity_check&#160;<span class='sym_p'>(&#160;<span class='nowrap'>int(*<span class='color_p'>func</span>)(char const*, LIBSSH2_SESSION*) )</span></span> (1)</span>
<br/>
<div id="c_30" style="display:none;">


<span class='new_sign_lbl'>changed to:</span><br/><span class='new_sign'>nc_callback_ssh_host_authenticity_check&#160;<span class='sym_p'>(&#160;<span class='nowrap'>int(*<span class='color_p'>func</span>)(char const*, ssh_session) )</span></span></span><br/>
<table class='ptable'><tr><th width='2%'></th><th width='47%'>Change</th><th>Effect</th></tr><tr><th>1</th><td align='left' valign='top'>Base type of <b>1st</b> parameter <b>func</b> has been changed from <span class='value'>int(*)(char const*,LIBSSH2_SESSION*)</span> to <span class='value'>int(*)(char const*,ssh_session)</span>.</td><td align='left' valign='top'>Recompilation of a client program may be broken.</td></tr>
</table><br/>
</div>
<span class="section" onclick="javascript:showContent(this, 'c_31')">
<span class='extendable'>[+]</span> nc_callback_sshauth_interactive&#160;<span class='sym_p'>(&#160;<span class='nowrap'>void(*<span class='color_p'>func</span>)(char const*, int, char const*, int, int, LIBSSH2_USERAUTH_KBDINT_PROMPT const*, LIBSSH2_USERAUTH_KBDINT_RESPONSE*, void**) )</span></span> (1)</span>
<br/>
<div id="c_31" style="display:none;">


<span class='new_sign_lbl'>changed to:</span><br/><span class='new_sign'>nc_callback_sshauth_interactive&#160;<span class='sym_p'>(&#160;<span class='nowrap'>void(*<span class='color_p'>func</span>)(char const*, char const*, char const*, int) )</span></span></span><br/>
<table class='ptable'><tr><th width='2%'></th><th width='47%'>Change</th><th>Effect</th></tr><tr><th>1</th><td align='left' valign='top'>Base type of <b>1st</b> parameter <b>func</b> has been changed from <span class='value'>void(*)(char const*,int,char const*,int,int,LIBSSH2_USERAUTH_KBDINT_PROMPT const*,LIBSSH2_USERAUTH_KBDINT_RESPONSE*,void**)</span> to <span class='value'>void(*)(char const*,char const*,char const*,int)</span>.</td><td align='left' valign='top'>Recompilation of a client program may be broken.</td></tr>
</table><br/>
</div>
<br/><a style='font-size:11px;' href='#Top'>to the top</a><br/>
<a name='Constant_Source_Problems_Low'></a><h2>Problems with Constants, Low Severity (4)</h2><hr/>
<span class='h_name'>netconf.h</span><br/>
<span class="section" onclick="javascript:showContent(this, 'c_32')">
<span class='extendable'>[+]</span> NC_INIT_ALL</span>
<br/>
<div id="c_32" style="display:none;">
<table class='ptable'><tr><th width='2%'></th><th width='47%'>Change</th><th>Effect</th></tr><tr><th>1</th><td align='left' valign='top'>The value of constant <b>NC_INIT_ALL</b> has been changed from <b>0xffffcfff</b> to <b>0xffff8fff</b>.</td><td align='left' valign='top'>Recompilation of a client program may be broken.</td></tr>
</table><br/></div>

<span class="section" onclick="javascript:showContent(this, 'c_33')">
<span class='extendable'>[+]</span> NC_INIT_KEEPALIVECHECK</span>
<br/>
<div id="c_33" style="display:none;">
<table class='ptable'><tr><th width='2%'></th><th width='47%'>Change</th><th>Effect</th></tr><tr><th>1</th><td align='left' valign='top'>The value of constant <b>NC_INIT_KEEPALIVECHECK</b> has been changed from <b>0x00000088</b> to <b>0x00000080</b>.</td><td align='left' valign='top'>Recompilation of a client program may be broken.</td></tr>
</table><br/></div>

<span class="section" onclick="javascript:showContent(this, 'c_34')">
<span class='extendable'>[+]</span> NC_INIT_NACM</span>
<br/>
<div id="c_34" style="display:none;">
<table class='ptable'><tr><th width='2%'></th><th width='47%'>Change</th><th>Effect</th></tr><tr><th>1</th><td align='left' valign='top'>The value of constant <b>NC_INIT_NACM</b> has been changed from <b>0x00000104</b> to <b>0x00000004</b>.</td><td align='left' valign='top'>Recompilation of a client program may be broken.</td></tr>
</table><br/></div>

<br/>
<span class='h_name'>transapi.h</span><br/>
<span class="section" onclick="javascript:showContent(this, 'c_35')">
<span class='extendable'>[+]</span> TRANSAPI_VERSION</span>
<br/>
<div id="c_35" style="display:none;">
<table class='ptable'><tr><th width='2%'></th><th width='47%'>Change</th><th>Effect</th></tr><tr><th>1</th><td align='left' valign='top'>The value of constant <b>TRANSAPI_VERSION</b> has been changed from <b>5</b> to <b>6</b>.</td><td align='left' valign='top'>Recompilation of a client program may be broken.</td></tr>
</table><br/></div>

<br/>
<a style='font-size:11px;' href='#Top'>to the top</a><br/>
<a name='Other_Source_Changes'></a><a name='Other_Source_Changes_In_Symbols'></a><a name='Other_Source_Changes_In_Interfaces'></a>
<h2>Other Changes in Symbols (5)</h2><hr/>
<span class='h_name'>callbacks_ssh.h</span><br/>
<span class="section" onclick="javascript:showContent(this, 'c_36')">
<span class='extendable'>[+]</span> nc_callback_sshauth_interactive&#160;<span class='sym_p'>(&#160;<span class='nowrap'>void(*<span class='color_p'>func</span>)(char const*, int, char const*, int, int, LIBSSH2_USERAUTH_KBDINT_PROMPT const*, LIBSSH2_USERAUTH_KBDINT_RESPONSE*, void**) )</span></span> (1)</span>
<br/>
<div id="c_36" style="display:none;">

<table class='ptable'><tr><th width='2%'></th><th width='47%'>Change</th><th>Effect</th></tr><tr><th>1</th><td align='left' valign='top'>Type of return value has been changed from <b>void</b> to <b>char*</b>.</td><td align='left' valign='top'>No effect.</td></tr>
</table><br/>
</div>
<span class="section" onclick="javascript:showContent(this, 'c_37')">
<span class='extendable'>[+]</span> nc_set_keypair_path&#160;<span class='sym_p'>(&#160;char const* <span class='color_p'>private</span>, <span class='nowrap'>char const* <span class='color_p'>public</span> )</span></span> (3)</span>
<br/>
<div id="c_37" style="display:none;">


<span class='new_sign_lbl'>changed to:</span><br/><span class='new_sign'>nc_set_keypair_path&#160;<span class='sym_p'>(&#160;char const* <span class='color_p'>privkey</span>, <span class='nowrap'>char const* <span class='color_p'>pubkey</span> )</span></span></span><br/>
<table class='ptable'><tr><th width='2%'></th><th width='47%'>Change</th><th>Effect</th></tr><tr><th>1</th><td align='left' valign='top'><b>1st</b> parameter <b>private</b> has been renamed to <b>privkey</b>.</td><td align='left' valign='top'>No effect.</td></tr>
<tr><th>2</th><td align='left' valign='top'><b>2nd</b> parameter <b>public</b> has been renamed to <b>pubkey</b>.</td><td align='left' valign='top'>No effect.</td></tr>
<tr><th>3</th><td align='left' valign='top'>Type of return value has been changed from <b>void</b> to <b>int</b>.</td><td align='left' valign='top'>No effect.</td></tr>
</table><br/>
</div>
<br/><span class='h_name'>datastore.h</span><br/>
<span class="section" onclick="javascript:showContent(this, 'c_38')">
<span class='extendable'>[+]</span> ncds_model_info&#160;<span class='sym_p'>(&#160;char const* <span class='color_p'>path</span>, <span class='nowrap'>char** <span class='color_p'>name</span>,</span> <span class='nowrap'>char** <span class='color_p'>version</span>,</span> char** <span class='color_p'>namespace</span>, <span class='nowrap'>char** <span class='color_p'>prefix</span>,</span> <span class='nowrap'>char*** <span class='color_p'>rpcs</span>,</span> <span class='nowrap'>char*** <span class='color_p'>notifs</span> )</span></span> (1)</span>
<br/>
<div id="c_38" style="display:none;">


<span class='new_sign_lbl'>changed to:</span><br/><span class='new_sign'>ncds_model_info&#160;<span class='sym_p'>(&#160;char const* <span class='color_p'>path</span>, <span class='nowrap'>char** <span class='color_p'>name</span>,</span> <span class='nowrap'>char** <span class='color_p'>version</span>,</span> <span class='nowrap'>char** <span class='color_p'>ns</span>,</span> <span class='nowrap'>char** <span class='color_p'>prefix</span>,</span> <span class='nowrap'>char*** <span class='color_p'>rpcs</span>,</span> <span class='nowrap'>char*** <span class='color_p'>notifs</span> )</span></span></span><br/>
<table class='ptable'><tr><th width='2%'></th><th width='47%'>Change</th><th>Effect</th></tr><tr><th>1</th><td align='left' valign='top'><b>4th</b> parameter <b>namespace</b> has been renamed to <b>ns</b>.</td><td align='left' valign='top'>No effect.</td></tr>
</table><br/>
</div>
<br/><a style='font-size:11px;' href='#Top'>to the top</a><br/>
<a name='Other_Source_Changes_In_Constants'></a><h2>Other Changes in Constants (2)</h2><hr/>
<span class='h_name'>netconf.h</span><br/>
<span class="section" onclick="javascript:showContent(this, 'c_39')">
<span class='extendable'>[+]</span> NC_INIT_CLIENT</span>
<br/>
<div id="c_39" style="display:none;">
<table class='ptable'><tr><th width='2%'></th><th width='47%'>Change</th><th>Effect</th></tr><tr><th>1</th><td align='left' valign='top'>The constant <b>NC_INIT_CLIENT</b> with value <b>0x00004000</b> has been added.</td><td align='left' valign='top'>No effect.</td></tr>
</table><br/></div>

<span class="section" onclick="javascript:showContent(this, 'c_40')">
<span class='extendable'>[+]</span> NC_INIT_LIBSSH_PTHREAD</span>
<br/>
<div id="c_40" style="display:none;">
<table class='ptable'><tr><th width='2%'></th><th width='47%'>Change</th><th>Effect</th></tr><tr><th>1</th><td align='left' valign='top'>The constant <b>NC_INIT_LIBSSH_PTHREAD</b> with value <b>0x00000200</b> has been added.</td><td align='left' valign='top'>No effect.</td></tr>
</table><br/></div>

<br/>
<a style='font-size:11px;' href='#Top'>to the top</a><br/>
<a name='Headers'></a><h2>Header Files (21)</h2><hr/>
<div class='h_list'>
callbacks.h<br/>
callbacks_ssh.h<br/>
callhome.h<br/>
datastore.h<br/>
datastore_custom.h<br/>
datastore_xml.h<br/>
error.h<br/>
libnetconf.h<br/>
libnetconf_ssh.h<br/>
libnetconf_tls.h<br/>
libnetconf_xml.h<br/>
messages.h<br/>
messages_xml.h<br/>
netconf.h<br/>
notifications.h<br/>
notifications_xml.h<br/>
session.h<br/>
transapi.h<br/>
transport.h<br/>
url.h<br/>
with_defaults.h<br/>
</div>
<br/><a style='font-size:11px;' href='#Top'>to the top</a><br/>
<a name='Libs'></a><h2>Shared Libraries (3)</h2><hr/>
<div class='lib_list'>
libnetconf.so<br/>
libnetconf.so.0<br/>
libnetconf.so.0.9.0<br/>
</div>
<br/><a style='font-size:11px;' href='#Top'>to the top</a><br/>
<br/><br/><br/></div><div style='width:97%;padding-top:3px;font-size:11px;' align='right'><i>Generated on Wed Jun 10 10:38:33 2015 for <span style='font-weight:bold'>libnetconf</span> by <a href='http://ispras.linuxbase.org/index.php/ABI_compliance_checker'>ABI Compliance Checker</a> 1.99.9 &#160;<br/>A tool for checking backward compatibility of a C/C++ library API&#160;&#160;</i></div>
<div style='height:999px;'></div>
</body></html>